package com.example.springmvc_demo2.controller;

import com.example.springmvc_demo2.entiry.UserEntiry;
import com.example.springmvc_demo2.service.LoginService;
import org.apache.catalina.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class LoginController {
    //访问login方法，使用url： http://localhost:8080/login，跳转到login.html页面
    @Autowired
    LoginService loginService;

    //访问login方法，使用url： http://localhost:8080/login，跳转到login.html页面
    @RequestMapping("/login")
    public String openLoginPage() {

        return "login";//把"login"字符串返回给视图解析器解析thymeleaf，解析后返回到login.html页面
    }

    //方法参数使用实体类
    @RequestMapping(value = "/login2", method = RequestMethod.POST)
    public ModelAndView login2(UserEntiry userEntiry, ModelAndView mv) {
        System.out.println("username:" + userEntiry.getUsername() + ",password:" + userEntiry.getPassword());
        if (loginService.login(userEntiry) != null) {
            mv.setViewName("redirect:/");
            return mv;
        }
        //如果登陆失败，需要返回提示信息和重新返回到login.html页面
        mv.addObject("msg", "登陆失败");//设置返回的数据
        mv.setViewName("login");
        return mv;
    }

//    @RequestMapping("/login")
//    public String openLoginPage(){
//        //返回值直接写templates文件夹下的网页文件名称，不需要加.html后缀
//        return "login";
//    }
//    //在login方法中接受用户提交的账号和密码,用户是通过网页使用form表单提交的数据
//    @RequestMapping(value = "/login",method = RequestMethod.POST)
//    public String login(String username,String password){
//        System.out.println("username:"+username+",password:"+password);
//        return "index";
//    }
//
//    @GetMapping("/login3")
//    public String login3(UserEntiry userEntiry){
//        System.out.println(userEntiry);
//        return "index";
//    }
//
//    @RequestMapping("/forwardExample")
//    public ModelAndView forwardExample() {
//        ModelAndView modelAndView = new ModelAndView();
//        modelAndView.setViewName("forward:/anotherPage");
//        modelAndView.addObject("key", "value");
//        return modelAndView;
//    }
//
//    @RequestMapping("/redirectExample")
//    public String redirectExample() {
//        return "redirect:/home";
//    }
//
//    @RequestMapping(value = "/login2",method = RequestMethod.POST)
//    public ModelAndView login2(UserEntiry userEntiry, ModelAndView mv){
//        System.out.println("username:"+userEntiry.getUsername()+",password:"+userEntiry.getPassword());
//        if (userEntiry.getUsername().equals("admin")&&userEntiry.getPassword().equals("123")){
//            mv.setViewName("redirect:/");
//            return mv;
//        }
//        //如果登陆失败，需要返回提示信息和重新返回到login.html页面
//        mv.addObject("msg","登陆失败");//设置返回的数据
//        mv.setViewName("login");
//        return mv;
//    }
}